1. Field of the Invention
This invention relates to solid-state storage and more particularly relates to bad block remapping in solid-state storage.
2. Description of the Related Art
Solid-state storage, as well as other forms of data storage media, is subject to failures of specific regions within the solid-state storage. This type of failure may result in loss of ability to store data in the specific failed region, but rest of the solid-state storage may function normally. Allowing the failed region to be used for data storage would introduce data errors.
Memory cells in solid-state storage are typically arranged in some type of a matrix of rows and columns. Regions may further be divided into pages, erase blocks (or other block), etc. The pages, erase blocks, etc. may be numbered in some fashion, such as sequentially numbered. The numbering may be used in an address to locate a specific page and then row and column numbers may be used to access bits, bytes, etc.
When solid-state storage elements, such as dies or chips, are arranged in an array, the solid-state storage elements may also be numbered, and may be arranged in banks, rows, etc. The bank number, row number, element number, etc. associated with the solid-state storage array may also then form part of an address scheme. Pages, erase blocks, etc. may be grouped together to form logical pages, logical erase blocks, etc.
To avoid loss of use of an entire data storage device, a location where the data storage device has failed may be noted and marked such that data is not stored in the bad location. Often, a region that is marked bad is a block. A bad block table or other data structure may be used to avoid storing data in a bad block. If a particular physical erase block in a solid-state storage array fails, a logical erase block that includes the failed physical erase block may be unavailable unless another physical erase block is substituted for the failed physical erase block. A bad block map is typically used to redirect data reads, writes, etc. from the failed physical erase block in a logical erase block being accessed to a replacement physical erase block.
Bad blocks in solid-state storage, such as NAND flash memory, are common and solid-state storage elements often come from the factory with bad erase blocks. Solid-state storage may be used as log storage system and not as a random access device so bad block mapping schemes developed for disks and other data storage devices may be inadequate. Solid-state storage typically also has a wear-out mechanism so areas used frequently may be subject to failure before other areas in the solid-state storage. Traditional bad block management techniques are inadequate for providing highly reliable bad block management for solid-state storage.